package com.prd.service;

import com.prd.dto.AttendanceDTO;
import com.prd.model.AttendanceDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.prd.util.JsonData;
import org.springframework.web.multipart.MultipartFile;

import java.time.LocalDate;
import java.util.List;

/**
 *
 * @author lizhaoyi
 * @since 2023-10-03
 */
public interface AttendanceService extends IService<AttendanceDO> {

    /**
     * 日统计
     * @param clockDate
     * @return
     */
    JsonData getAttendancesByOneDay(LocalDate clockDate);

    /**
     * 周统计
     * @param clockDate
     * @return
     */
    JsonData getWeekAttendances(LocalDate clockDate);

    /**
     * 月统计
     * @param clockMonth
     * @return
     */
    JsonData getMonthAttendances(String clockMonth);

    /**
     * 上班打卡
     * @param attendanceDto
     * @return
     */
    JsonData clockIn(AttendanceDTO attendanceDto);

    /**
     * 下班打卡
     * @param attendanceDto
     * @return
     */
    JsonData clockOut(AttendanceDTO attendanceDto);

    /**
     * 上传图片
     * @param file
     * @return
     */
    JsonData uploadImg(MultipartFile file);

    /**
     * 确认上传
     * @param urls
     * @param remark
     * @param attendanceId
     * @return
     */
    JsonData confirmUpload(List<String> urls, String remark,String attendanceId);


    /**
     * 是否已打上班卡
     * @return
     */
    JsonData isClockOrNot();



}
